package com.deductive.domain.special;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;

import com.deductive.common.config.mybatis.GeoJsonToGeometryDeserializer;
import com.deductive.common.config.mybatis.GeometryToGeoJsonSerializer;
import com.deductive.common.config.mybatis.GeometryTypeHandler;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.locationtech.jts.geom.Geometry;

/**
 * 远离体系
 * @TableName special_stay_away_system
 */
@TableName(value ="special_stay_away_system")
@Data
public class SpecialStayAwaySystem implements Serializable {
    /**
     * 
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 空间几何数据
     */
    @ApiModelProperty(value = "空间几何数据")
    @TableField(value = "geom", typeHandler = GeometryTypeHandler.class)
    @JsonSerialize(using = GeometryToGeoJsonSerializer.class)
    @JsonDeserialize(using = GeoJsonToGeometryDeserializer.class)
    private Geometry geom;

    /**
     * 唯一标识码
     */
    @TableField(value = "guid")
    private String guid;

    /**
     * 名称
     */
    @TableField(value = "name")
    private String name;

    /**
     * bd卫生机构
     */
    @TableField(value = "military_medical_institution")
    private String militaryMedicalInstitution;

    /**
     * 地址
     */
    @TableField(value = "adress")
    private String adress;

    /**
     * 经度
     */
    @TableField(value = "lon")
    private Double lon;

    /**
     * 纬度
     */
    @TableField(value = "lat")
    private Double lat;

    /**
     * 人数
     */
    @TableField(value = "number")
    private Double number;

    /**
     * 体系医院名称
     */
    @TableField(value = "hospital_name")
    private String hospitalName;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}